c503da077c7ab7dc136ff7610d08c6a4ef3ffaad,gravitee-management-api-service/src/test/java/io/gravitee/management/service/ApiServiceTest.java,ApiServiceTest,shouldUpdateImportApiWithMembersAndPages,#,487

Before Change


        apiEntity.setId(API_ID);
        when(apiRepository.findById(API_ID)).thenReturn(Optional.of(api));
        when(apiRepository.update(any())).thenReturn(api);
        when(userService.findByName(anyString())).thenReturn(new UserEntity());

        apiService.createOrUpdateWithDefinition(apiEntity, toBeImport, null);

        verify(pageService, times(2)).create(eq(API_ID), any(NewPageEntity.class));
        verify(apiRepository, times(1)).saveMember(API_ID, "admin", MembershipType.PRIMARY_OWNER);
        verify(apiRepository, times(1)).saveMember(API_ID, "user", MembershipType.OWNER);
        verify(apiRepository, times(1)).update(any());
        verify(apiRepository, never()).create(any());
    }

After Change


        apiEntity.setId(API_ID);
        when(apiRepository.findById(API_ID)).thenReturn(Optional.of(api));
        when(apiRepository.update(any())).thenReturn(api);
        Membership po = new Membership("admin", API_ID, MembershipReferenceType.API);
        po.setType(MembershipType.PRIMARY_OWNER.name());
        Membership owner = new Membership("user", API_ID, MembershipReferenceType.API);
        owner.setType(MembershipType.OWNER.name());
        when(membershipRepository.findByReferencesAndMembershipType(
                MembershipReferenceType.API,
                Collections.singletonList(API_ID),
                MembershipType.PRIMARY_OWNER.name()))
                .thenReturn(Collections.singleton(po));
        when(membershipRepository.findById(po.getUserId(), MembershipReferenceType.API, API_ID)).thenReturn(Optional.of(po));
        when(membershipRepository.findById(owner.getUserId(), MembershipReferenceType.API, API_ID)).thenReturn(Optional.of(owner));
        UserEntity admin = new UserEntity();
        admin.setUsername(po.getUserId());
        UserEntity user = new UserEntity();
        user.setUsername(owner.getUserId());
        when(userService.findByName(admin.getUsername())).thenReturn(admin);
        when(userService.findByName(user.getUsername())).thenReturn(user);

        apiService.createOrUpdateWithDefinition(apiEntity, toBeImport, null);

        verify(pageService, times(2)).create(eq(API_ID), any(NewPageEntity.class));
        verify(membershipRepository, times(1)).update(po);
        verify(membershipRepository, times(1)).update(owner);
        verify(apiRepository, times(1)).update(any());
        verify(apiRepository, never()).create(any());